# Dockerfile to illustrate how Filebeat can be used with nginx
# Filebeat 7.13.2

# Build with:
# docker build -t ftp-filebeat .

# Run with:
# $ docker run -d -v <host folder>:/home/vsftpd \
#                 -p 20:20 -p 21:21 -p 47400-47470:47400-47470 \
#                 -e FTP_USER=<username> \
#                 -e FTP_PASS=<password> \
#                 -e PASV_ADDRESS=<ip address of your server> \
#                 --name ftp \
#                 --restart=always bogem/ftp

FROM bogem/ftp
MAINTAINER HuangJR huangz2350@163.com
ENV REFRESHED_AT 2021-06-28


###############################################################################
#                                INSTALLATION
###############################################################################

### install Filebeat

ENV FILEBEAT_VERSION 7.12.0
ENV FILEBEAT_BASE_VERSION 7.12.0


RUN apt-get update -qq \
 && apt-get install -qqy curl \
 && apt-get clean

RUN curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-${FILEBEAT_VERSION}-amd64.deb \
 && dpkg -i filebeat-${FILEBEAT_VERSION}-amd64.deb \
 && rm filebeat-${FILEBEAT_VERSION}-amd64.deb


###############################################################################
#                                CONFIGURATION
###############################################################################

### tweak nginx image set-up

# remove log symlinks
RUN rm -rf /var/log/vsftpd.log


### configure Filebeat

# config file
ADD filebeat.yml /etc/filebeat/filebeat.yml
RUN chmod 644 /etc/filebeat/filebeat.yml

# CA cert
RUN mkdir -p /etc/pki/tls/certs
ADD logstash-beats.crt /etc/pki/tls/certs/logstash-beats.crt

# create template based on filebeat version (assumption: it is the same version as elasticsearch version)
RUN filebeat export template --es.version ${FILEBEAT_BASE_VERSION} > /etc/filebeat/filebeat.template.json

###############################################################################
#                                    DATA
###############################################################################

### add dummy HTML file

# COPY node-back-end-cli /root/node-back-end-cli


###############################################################################
#                                    START
###############################################################################

ADD ./start.sh /usr/local/bin/start.sh
RUN chmod +x /usr/local/bin/start.sh
CMD [ "/usr/local/bin/start.sh" ]
